 
/*
 *  SSCatalystComment.h
 *  MESLib
 * 
 * Copyright 2003-2009 Starline Software Ltd
 * 
 * This file is part of MESLib.
 * 
 * MESLib is free software: you can redistribute it and/or modify
 * it under the terms of the GNU Lesser General Public License as published by
 * the Free Software Foundation, either version 3 of the License, or
 * (at your option) any later version.
 *
 * MESLib is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
 * GNU Lesser General Public License for more details.
 * 
 * You should have received a copy of the GNU Lesser General Public License
 * along with MESLib. If not, see <http://www.gnu.org/licenses/>.
 */
//  Created by Tobias Haughton on Mon Jan 27 2003.
//

#import <Cocoa/Cocoa.h>
#import "SSConst.h"
#import "SSCommentView.h"
#import "SSEventObject.h"

@interface SSCatalystComment : NSObject<NSCoding> {
   NSString *unique_id;
   NSNumber *type;
   NSString *commentString;
   SSCommentView *commentView;
   NSPoint closestEventOffset;
   SSEventObject *closestEvent;
   SSEventObject *linkedEvent;
   BOOL isVisible;
   BOOL isLoading;
}

- (id)initWithUnique_id:(NSString *)idString
                comment:(NSString *)comment
                   type:(NSNumber *)t
               position:(NSPoint)p
         closestEvent:(NSString *)ce
     closestEventOffset:(NSPoint)ceOffSet;

- (id)initWithUnique_id:(NSString *)idString
                comment:(NSString *)comment
                   type:(NSNumber *)t
               position:(NSPoint)p;

- (id)initWithPboardRepresentation:(NSMutableDictionary *)dict origin:(NSPoint)point;

- (void)setUnique_id:(NSString *)string;
- (void)setType:(NSNumber *)number;
- (void)setCommentString:(NSString *)string;
- (void)setCommentView:(SSCommentView *)view;

- (NSString *)unique_id;
- (NSNumber *)type;
- (NSString *)typeString;
- (NSString *)commentString;
- (SSCommentView *)commentView;
- (float)xPosition;
- (float)yPosition;

- (NSString *)xmlStringRepresentation;

- (NSPoint)closestEventOffset;
- (void)setClosestEventOffset:(NSPoint)point;
- (id)closestEvent;
- (void)setClosestEvent;
- (void)setClosestEvent:(id)ce;
- (void)followClosestEvent;

- (BOOL)isVisible;
- (void)setIsVisible:(BOOL)b;

@end
